<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // this 函数内置关键词  => 一般指向一个对象(函数依存的对象)
    // 1. 一般情况下  (普通函数(命名函数 和 匿名函数))  指向window 
    // 2. 函数在调用时 属于谁就指向谁    btn.onclick    obj.say()
    // 3. 箭头函数没有自己的this指向, 它的this依赖于箭头函数所在作用域(父作用域)的this  简单的来说 遇到箭头函数向外跳一层 
    // 4. 构造函数中的this指向 构造函数在执行过程中创建的实例化对象
    // 5. 改变this指向的三个方法  call  apply  bind


    // function fn() {

    // }

    // window.fn();

    var zhang = {
        name: "张三",
        age: 18,
        say() {
            console.log(this.name, this.age);
        }
    }

    zhang.say(); // this ->zhang

    var { say } = zhang;  // var say = zhang.say;
    say();   // this ->window





</script>

</html>